home *** CD-ROM | disk | FTP | other *** search
- /* Name: Reposition
- ** Author: Paul Manias
- ** Copyright: DreamWorld Productions (c) 1996-1997. Freely distributable.
- **
- ** This example has a mobile 320x256 screen, which is attached to the
- ** mouse. To exit the example, press LMB.
- */
-
- MODULE 'dpkernel','gms/dpkernel','graphics/pictures','files/files','graphics/screens'
- MODULE 'screens','system/register','system/modules','gms/joydata'
-
- PROC main()
- DEF screen:PTR TO screen, joy:PTR TO joydata, loadpic:PTR TO picture
- DEF picfile:filename, scrmodule:PTR TO module
-
- picfile := [ ID_FILENAME, 'GMS:demos/data/PIC.Green']:filename
-
- IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
- SetUserPrefs(0)
-
- IF (scrmodule := Init([TAGS_MODULE,NIL,
- MODA_NUMBER, MOD_SCREENS,
- MODA_TABLETYPE, JMP_AMIGAE,
- TAGEND], NIL))
-
- scrbase := scrmodule.modbase
-
- IF (screen := Init([TAGS_SCREEN,NIL,
- GSA_PALETTE, [$000000,$103000,$F0C0B0,$F0A090,$D08080,$906050,$604040,$201010,
- $400000,$404040,$F0F000,$403020,$C0C000,$105000,$500010,$808000,
- $206010,$207010,$308020,$409020,$50A030,$50B040,$607070,$60C040,
- $708080,$90A0A0,$B0C0C0,$800010,$900010,$A00020,$700010,$600010 ]:LONG,
- GSA_SCRWIDTH, 320,
- GSA_SCRHEIGHT, 256,
- GSA_PLANES, 5,
- TAGEND],NIL))
-
- IF (loadpic := Init([TAGS_PICTURE,NIL,
- PCA_DATA, screen.memptr1,
- PCA_WIDTH, 320,
- PCA_HEIGHT, 256,
- PCA_AMTCOLOURS, 32,
- PCA_PALETTE, screen.palette,
- PCA_FILE, picfile,
- TAGEND],NIL))
-
- IF (joy := Init(Get(ID_JOYDATA),NIL))
- Display(screen)
- REPEAT
- Query(joy)
- screen.scrxoffset := screen.scrxoffset + joy.xchange
- screen.scryoffset := screen.scryoffset + joy.ychange
- WaitVBL()
- RemakeScreen(screen)
- UNTIL !(joy.buttons AND JD_LMB)
- ENDIF
- ENDIF
- ENDIF
- ENDIF
- Free(joy)
- Free(loadpic)
- Free(screen)
- Free(scrmodule)
- CloseDPK()
- ENDIF
- ENDPROC
-
-